package chapter04;

public class Java25_Object {
    public static void main(String[] args) {
        // TODO bean规范
        /*
            解决问题思路：
            1.提炼具体事务
            2.根据相同的特征和行为的事务提炼出接口或类
            3.封装特征和行为
            4.建立对象
            5.调用对象的属性和方法解决问题
         */
        /*
            java主要分为两大类
            1.主要用于编写逻辑
            2.主要用于建立数据模型(主要为存储数据的模型，Bean)：简单的理解就是数据特征的抽象，这里的抽象其实就是将特征提取出来，使用特殊的结构(class)来保存
         */
        /*
            TODO bean规范：
            1.类要求必须含有无参、公共构造方法
            2.类中的属性必须私有化，使用get/set方法进行访问
         */
        User25 user = new User25();
//        user.account = "admin";
//        user.password = "admin";
        user.setAccount("admin");
        user.setPassword("admin");
        System.out.println(login(user));
    }
//    public static boolean login(User25 user) {
//        if (user.account.equals("admin") && user.password.equals("admin")) {
//            return true;
//        } else {
//            return false;
//        }
//    }

    public static boolean login(User25 user) {
        if (user.getAccount().equals("admin") && user.getPassword().equals("admin")) {
            return true;
        } else {
            return false;
        }
    }

}
// 实现用户账号登陆的功能
class User25 {  // 类似数据模型
    // 实际应用中账户和密码应该由用户提供，账号和密码不应该任何人都能访问
    //public String account;
    //public String password;
    private String account;
    private String password;
    // 问题：在用户类中声明一个登录方法时，该登录方法属于User25这个对象；用户使用的时网站服务器的登录功能而不是User25类的登录功能
    //public boolean login() {
    //    return true;
    //}

    public String getAccount() {
        return account;
    }

    public String getPassword() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
